package com.fkd.service.impl;

import com.fkd.dao.MainDao;
import com.fkd.pojo.News;
import com.fkd.pojo.Product;
import com.fkd.pojo.Type1;
import com.fkd.service.MainService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class MainServiceImpl implements MainService {
   @Autowired
   MainDao mainDao;

    //得到所有的商品的大致分类
    @Override
    public List<Type1> getAllType1() {
        return mainDao.getAllType1();
    }

    //得到所有的促销信息
    @Override
    public List<News> getAllNews() {
        return mainDao.getAllNews();
    }

    //模糊查询，分页显示
    @Override
    public List<Product> searchProduct(String keyWord, int page, int limit) {
        int begin = (page-1)*limit;
        return mainDao.searchProduct("%"+keyWord+"%",begin,limit);
    }

    //查询模糊查询结果的页数
    @Override
    public int searchProductCount(String keyWord, int limit) {
        int count = mainDao.searchProductCount("%"+keyWord+"%");
        int pageCount = count/limit;
        if(count%limit != 0){
            pageCount += 1;
        }
        return pageCount;
    }

    //查询模糊查询结果的数量
    public int searchProductCount1(String keyWord){
        return mainDao.searchProductCount("%"+keyWord+"%");
    }

    //获取type1分类的当前页商品
    @Override
    public List<Product> getProductByType1(int type1Id, int page, int limit) {
        int begin = (page-1)*limit;
        return mainDao.getProductByType1(type1Id,begin,limit);
    }

    //获取type1分类当前页商品数量
    @Override
    public int getProductCountByType1(int type1Id, int limit) {
        int count = mainDao.getProductCountByType1(type1Id);
        int pageCount = count/limit;
        if(count%limit != 0){
            pageCount += 1;
        }
        return pageCount;
    }

    //获取type1分类的所有商品数量
    @Override
    public int getProductCountByType1(int type1Id){
        return mainDao.getProductCountByType1(type1Id);
    }

    //获取type2分类的当前页商品
    @Override
    public List<Product> getProductByType2(int type2Id, int page, int limit) {
        int begin = (page-1)*limit;
        return mainDao.getProductByType2(type2Id,begin,limit);
    }

    //获取type2分类当前页的商品数量
    @Override
    public int getProductCountByType2(int type2Id, int limit) {
        int count = mainDao.getProductCountByType2(type2Id);
        int pageCount = count/limit;
        if(count%limit != 0){
            pageCount += 1;
        }
        return pageCount;
    }

    //获取type1分类的所有商品数量
    @Override
    public int getProductCountByType2(int type1Id){
        return mainDao.getProductCountByType2(type1Id);
    }

    //获取type3分类的当前页商品
    @Override
    public List<Product> getProductByType3(int type3Id, int page, int limit) {
        int begin = (page-1)*limit;
        return mainDao.getProductByType3(type3Id,begin,limit);
    }

    //获取type3分类当前页的商品数量
    @Override
    public int getProductCountByType3(int type3Id, int limit) {
        int count = mainDao.getProductCountByType3(type3Id);
        int pageCount = count/limit;
        if(count%limit != 0){
            pageCount += 1;
        }
        return pageCount;
    }

    //获取type1分类的所有商品数量
    @Override
    public int getProductCountByType3(int type1Id){
        return mainDao.getProductCountByType3(type1Id);
    }

    //获取当前页促销消息
    @Override
    public List<News> getNews(int page, int limit) {
        int begin = (page - 1)*limit;
        return mainDao.getNews(begin,limit);
    }

    //获取所有促销消息的数量
    @Override
    public int getNewsCount(int limit) {
        int count = mainDao.getNewsCount();
        int pageCount = count/limit;
        if(count % limit != 0){
            pageCount += 1;
        }
        return pageCount;
    }
}
